Сущность имитационного моделирования
Как было сформулировано выше, под сложной системой понимают многоуровневую конструкцию из взаимодействующих между собой элементов, являющихся динамическими системами. Чтобы задать сложную систему, необходимо описать ее элементы, а также представить схему их сопряжения.
Функционирование элемента как динамической системы представляется последовательностью перемещений состояния (изображающей точки) в пространстве состояний, перемежаемых случайными скачками состояния при выходе на границу или при поступлении входных сигналов. Как известно, оно может быть задано пятью группами характеристик, представляющих собой соотношения для: 1) определения границы пространства состояний; 2) описания перемещений изображающей точки; 3) расчета распределения вероятностей скачка состояния при выходе на границу; 4) расчета распределения вероятностей скачка состояния при поступлении входного сигнала; 5) расчета координат выходного сигнала.
Выходные сигналы, выдаваемые одними элементами, поступая к другим элементам как входные сигналы, приводят к изменению поведения элементов. Получающееся при этом переплетение перемещений и случайных скачков состояний различных элементов многоуровневой конструкции составляет процесс функционирования сложной системы во всем многообразии происходящих событий и явлений.
Несмотря на сложность процесса функционирования многоуровневой системы и необозримость всевозможных сочетаний общесистемных ситуаций, путь для количественного и качественного математического исследования систем не является полностью закрытым. Правда, если в рамках традиционного подхода иметь в виду уравнения для достаточно богатого набора общесистемных характеристик (функционалов), описывающих свойства изучаемого объекта, то при сколько-нибудь сложной модели мы неизбежно столкнемся с трудностями в составлении и решении уравнений. Основным препятствием здесь оказывается сложность непосредственной формализации и математического описания общесистемных ситуаций на базе умозрительного анализа взаимозависимости составляющих их событий и явлений, тем более что не всегда для этой цели имеются подходящие математические средства.
Однако возможен другой путь, не требующий составления уравнений относительно характеристик системы и не возлагающий на человека непосильного бремени разложения сложного процесса функционирования системы в целом в последовательность простых явлений и событий, доступных непосредственному математическому описанию. Умозрительный анализ остается инструментом, помогающим формализовать процессы функционирования лишь элементов системы как объектов, заведомо более простых, а также средством описания схем сопряжения элементов в сложных системах. Конструирование же общесистемных ситуаций как взаимно обусловленных сочетаний перемещений и скачков состояний элементов многоуровневой сложной системы возлагается на ЭВМ.
Если заданы начальные состояния в момент /ц всех элементов, то в соответствии с алгоритмами, построенными на базе соотношений, входящих в упомянутые выше пять групп характеристик, можно вычислить координаты состояний элементов для t > tQ. В самом деле, решая совместно уравнения движения изображающей точки и уравнения границы пространства состояний, можно определить момент Ґ выхода на границу и координаты состояния г* в этот момент. Как известно, в момент t* элементы системы выдают выходные сигналы. Сформировав координаты выходных сигналов и определив «адрес» передачи сигналов по схеме сопряжения, их подают на входы элементов-адресатов уже как входные сигналы. Исходя из t* и z* или / и z, где / — момент поступления входного сигнала, a z — состояние в этот момент, вычисляются распределения вероятностей для случайных скачков состояния. Новые состояния, в которые переходит система после скачка, определяются по жребию в соответствии с этими распределениями вероятностей. Другими словами, векторы состояния после скачка формируются с использованием случайных величин, распределения которых зависят от состояний системы перед скачком и поступающих входных сигналов.
Из приведенного описания следуют две особенности рассматриваемого способа моделирования сложных объектов.
Во-первых, имеет место определенное сходство процесса, воспроизводимого ЭВМ, и реального процесса функционирования моделируемой системы. Это сходство возникает за счет идентичности строения возможных сочетаний перемещений и скачков состояния. Конструируя общесистемные ситуации, ЭВМ как бы имитирует явления и события моделируемого процесса. Отсюда происходит название имитационное моделирование.
Во-вторых, процесс имитации включает огромное число операций, связанных с формированием, преобразованием и использованием реализации случайных событий, случайных величин и случайных процессов, обеспечивающих случайные скачки состояний. Поэтому траектории движения сложной системы в пространстве состояний, получаемые путем имитации, являются случайными функциями времени.
Случайный характер также носят любые результаты моделирования, если они получены при воспроизведении на ЭВМ единственной реализации моделируемого процесса. Такие результаты не могут объективно характеризовать исследуемый процесс — они отражают лишь случайные сочетания действующих факторов, складывающихся в процессе моделирования. Искомые величины при исследовании сложных систем методом имитационного моделирования обычно определяют как средние значения по данным некоторого числа реализаций процесса. Совокупность реализации выступает в роли «статистического материала» при машинном эксперименте, а оценка параметров исследуемой системы по результатам моделирования — в роли обработки экспериментальных данных. Поэтому рассматриваемый метод иногда называют методом статистического моделирования. Впрочем, последний термин постепенно исчезает из обихода.
Исходным материалом для построения любых случайных объектов в ЭВМ служат так называемые случайные числа, вырабатываемые специальной программой — датчиком случайных чисел. Случайные числа можно рассматривать как возможные значения х,, случайной величины £ , приближенно подчиняющейся равномерному закону распределения в интервале (0, 1). Способы конструирования из случайных чисел различных более сложных случайных объектов в настоящее время достаточно развиты и носят название преобразования случайных чисел.
Пусть требуется реализовать случайное событие А, наступающее с вероятностью р. Определим А как событие, состоящее в том, что выбранное значение xi случайной величины 2; удовлетворяет неравенству Xj < р. Легко видеть, что вероятность
P(A) = dx = p
о
Для моделирования испытаний этого вида выберем случайное число xt и сравним его с р. Если *, </?, то исходом испытаний считается событие А; в противном случае, когда х, > р, исходом испытания считается событие А, вероятность которого 1 — р.
s
Если задано распределение вероятностей P[9P29 -,Ps £/>,- = 1 и
/=1
случайное число х,- удовлетворяет неравенству 1т_ < х/ < 1т, где
г
lr = I, то исходом испытания считается событие, имеющее
/=1
вероятность рт.
![]() |
Если требуется получить возможные значения у,- случайной величины Л, имеющей функцию плотности /(у), исходя из случайных чисел Xj с равномерным распределением в интервале (0, 1), то нужно решить относительно у,- уравнение
2 2 х-то л’ї
Пользуясь аналогичными приемами, можно сформировать так называемые марковские процессы, характеризующие функционирование вероятностных автоматов, систем массового обслуживания и т. д. В частности, чтобы получить реализацию случайного потока однородных событий, достаточно сформировать ряд моментов tj поступления заявок:
‘1=$Ъ
h = +^2>
где j — возможные значения случайных величин с заданным совместным законом распределения. С использованием этих алгоритмов были решены актуальные практические задачи, связанные с исследованием широкого класса сложных систем. Метод имитационного моделирования становится мощнейшим инструментом системотехники, системного анализа и исследования операций.
До недавнего времени основные ограничения на сложность реализуемых моделей определялись характеристиками используемых ЭВМ. Современные ЭВМ, обладающие мультипрограммным режимом работы, независимой передачей информации между различными видами памяти и другими особенностями организации вычислительного процесса, в принципе позволяют реализовать модели весьма большой сложности. Вместе с тем по мере увеличения сложности моделируемых объектов значительно возрастает трудоемкость построения моделей (формального описания элементов системы и взаимодействия между ними, программирования моделирующих алгоритмов и др.) и их использования для решения практических задач (ввода данных о системе в ЭВМ, обработки и анализа результатов моделирования и Т. Д.).
Созданные к настоящему времени большие имитационные модели потребовали для построения моделирующего алгоритма, программирования и отладки многих месяцев (а иногда и лет) работы многопрофильных коллективов высококвалифицированных специалистов. Это обстоятельство уменьшает оперативность использования результатов имитационного моделирования. При изменениях, вносимых в модель в процессе исследования, требовалась обычно весьма громоздкая работа по перепрограммированию зацачи. Опыт моделирования, а также отдельные фрагменты имитационных алгоритмов слабо использовались при построении новых моделей. Рост трудоемкости заметно снижает оперативность и рентабельность моделирования и, таким образом, сужает реальную сферу практического применения имитационных моделей сложных систем. Поэтому построение моделей на базе традиционных методов уже не удовлетворяет изменившимся требованиям практики. Со всем этим можно еще было в какой-то степени мириться, пока возможности ЭВМ не позволяли строить имитационные модели для действительно сложных реальных объектов.
С внедрением в практику современных ЭВМ, допускающих мультипрограммную организацию вычислительного процесса и имеющих внешнюю память большого объема с быстрым считыванием, появилась принципиальная возможность разместить в памяти и реализовать на ЭВМ модели для систем, представляющих собой многоуровневые иерархические структуры (задаваемые сложными схемами сопряжения) из сотен или тысяч элементов, описываемых динамическими системами в широком смысле слова (обыкновенными дифференциальными уравнениями, конечными и вероятностными автоматами, системами массового обслуживания и т. д.). В свете этого проблема сокращения сроков построения моделей и уменьшения трудоемкости ручных работ становится исключительно актуальной.